package org.lanqiao.tjut.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.lanqiao.tjut.bean.TBAdminBean;
import org.lanqiao.tjut.service.ServiceFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/*
 * 该注解表示这是一个控制层的类，
 * springmvc框架会把添加@Controller注解的类，
 * 作为类似于servlet控制层的类进行扫描解析处理
 * 另外，类可以使用 注解  @RequestMapping("/amdin") 但是要求，jsp页面中请求的action连接中也需要加上该路径
 */
@Controller

public class AdminInfoAction {
	/*
	 * 该注解指定了request请求的对象的url路径， 在springmvc框架中，request请求的对象是方法；
	 * 在servlet框架中，request请求的对象是servlet类；
	 * 这样，在springmvc框架中，一个类可以响应若干个request请求处理；
	 */
	@RequestMapping("/doAdminLoginAction")
	public String doAdminLogin(HttpServletRequest request,TBAdminBean adminB) {
		// 调用service层进行管理员登录业务逻辑处理
		// 获取登录用户信息
		List<TBAdminBean> lstAdmins = ServiceFactory.getUserLoginServiceInstance().getUserLoginInfo(adminB);
		// 跳转到登录成功的页面,页面跳转之后的代码不会再被执行
		// 判定是否登录成功
		if (lstAdmins != null && lstAdmins.size() > 0) {
			// 登录成功
			// 将登陆成功的用户信息，缓存到session中
			request.getSession().setAttribute("LoginedAdminInfo", lstAdmins.get(0));
			// 跳转到指定名的显示视图(需要剃掉配置文件中指定的前缀和后缀)
			return ("logined");
		} else {
			// 登录失败
			return ("../../login");
		}
	}	
}
